#
# Realise par Nicolas Berrez
#
from django.utils import simplejson
from google.appengine.api import channel
import logging

class GameUpdater:
        
    def __init__(self, snakeWord):
        self.snakeWord = snakeWord

    '''
    difuse une modification a tous les joueurs
    '''
    def send_update(self, event, ligne, colonne, lettre, erreur, winner,lastWord):
        scores = list()
        for user in self.snakeWord.playerList:
            scores.append(user.score)
        message = {
                   'event': event,
                   'ligne': ligne,
                   'colonne': colonne,
                   'lettre': lettre,
                   'erreur': erreur,
                   'winner': winner,
                   'scores': scores,
                   'lastWord': lastWord
                   }
        messageJson = simplejson.dumps(message)
        if(erreur):
            #en cas d'erreur, informe juste le joueur courant
            channel.send_message(self.snakeWord.gameId + 
                                  self.snakeWord.playerList[self.snakeWord.currentUserIndex].userId,
                                  messageJson)
        else :
            #si l'action est valide, envoie la notification a tous les joueurs
            for user in self.snakeWord.playerList:
                channel.send_message(self.snakeWord.gameId + user.userId, messageJson)
        
